Method and apparatus for updating group member data, and terminal, system and storage medium

ABSTRACT

A method and apparatus for updating group member data are provided. The method includes: sending a group member data update request carrying a terminal timestamp to a server; receiving group member data change information issued by the server, wherein the group member data change information includes group member change data between the current timestamp and the terminal timestamp, and the current timestamp is greater than the terminal timestamp; and updating group member data of the terminal based on the group member data change information.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is the continuation application of U.S. patentapplication Ser. No. 17/147,119, filed on Jan. 12, 2021, which is acontinuation of international Application No. PCT/CN2019/096614, filedon Jul. 18, 2019, and the international Application No.PCT/CN2019/096614 is based on and claims priority to Chinese PatentApplication No. 201810824304.8, filed with the China NationalIntellectual Property Administration on Jul. 25, 2018, which is herebyincorporated by reference in its entirety.

FIELD

The present disclosure relates to the field of computer technology, andin particular to a method and an apparatus for updating group memberdata, and a terminal, a system and a storage medium thereof.

BACKGROUND

The Instant messaging (IM for short) refers to a service that can sendand receive Internet messages instantly. With the development of theInternet, the IM has developed to a comprehensive information platformintegrating the communication, information, entertainment, search,e-commerce, office collaboration, corporate customer service, etc., sothat the users' dependence on the instant messaging products are alsoincreasingly high. In order to facilitate the effective communication,the inventor found that most users would choose to share the instantinformation by establishing groups. When the instant messaging groupfunction is implemented, the user list needs to be synchronized to theclient. In the related technologies, the users can join or exit a group,while the client only knows how many members there are in the currentgroup but does not know which user has joined or exited, so the userlist is synchronized to the client by full data synchronization.However, the inventor realizes that full data synchronization consumesthe bandwidth and traffic significantly, and if there are not manychanged members each time, it means that most of the data in the fullsynchronized data is redundant data.

SUMMARY

According to a first aspect of the embodiments of the presentdisclosure, a method for updating group member data is provided. Themethod includes: sending a group member data update request to a server,wherein the group member data update request carries a terminaltimestamp; receiving group member data change information issued by theserver, wherein the group member data change information includes groupmember change data between a current timestamp and the terminaltimestamp, and the current timestamp is greater than the terminaltimestamp; updating the group member data of a terminal based on thegroup member data change information.

According to a second aspect of the embodiments of the presentdisclosure, a method for updating group member data is provided. Themethod includes: detecting, by a server, the group member dataperiodically and recording group member data in a current timestamp;sending, by a terminal, a group member data update request to the serverperiodically, wherein the group member data update request carries aterminal timestamp; issuing, by the server, group member data changeinformation to the terminal, wherein the group member data changeinformation includes group member change data between the currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp; updating, by the terminal, thegroup member data of the terminal based on the group member data changeinformation.

According to a third aspect of the embodiments of the presentdisclosure, an apparatus for updating group member data is provided. Theapparatus includes: a first sending unit configured to send a groupmember data update request to a server, wherein the group member dataupdate request carries a terminal timestamp; a first receiving unitconfigured to receive group member data change information issued by theserver, wherein the group member data change information includes groupmember change data between a current timestamp and the terminaltimestamp, and the current timestamp is greater than the terminaltimestamp; a first update unit configured to update the group memberdata of a terminal based on the group member data change information.

According to a fourth aspect of the embodiments of the presentdisclosure, an apparatus for updating group member data is provided. Theapparatus includes: a recording unit configured to detect the groupmember data periodically and record group member data in a currenttimestamp by a server; a third sending unit configured to send a groupmember data update request by a terminal to the server periodically,wherein the group member data update request carries a terminaltimestamp; an issuing unit configured to issue group member data changeinformation to the terminal by the server, wherein the group member datachange information includes group member change data between the currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp; a second update unit configured toupdate the group member data of the terminal based on the group memberdata change information by the terminal.

According to a fifth aspect of the embodiments of the presentdisclosure, a terminal is provided. The terminal includes: a processor;a memory configured to store instructions executable by the processor;wherein the processor is configured to: send a group member data updaterequest to a server, wherein the group member data update requestcarries a terminal timestamp; receive group member data changeinformation issued by the server, wherein the group member data changeinformation includes group member change data between a currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp; update the group member data of aterminal based on the group member data change information.

According to a sixth aspect of the embodiments of the presentdisclosure, a system is provided. The system includes: a server and aterminal; the server includes a processor and a memory configured tostore instructions executable by the processor; wherein the processor isconfigured to: detect group member data periodically and record groupmember data in a current timestamp; issue group member data changeinformation to the terminal, wherein the group member data changeinformation includes group member change data between the currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp; the terminal includes a processorand a memory configured to store instructions executable by theprocessor; wherein the processor is configured to: send a group memberdata update request to the server periodically, wherein the group memberdata update request carries a terminal timestamp; update the groupmember data of a terminal based on the group member data changeinformation.

According to a seventh aspect of the embodiments of the presentdisclosure, a non-transitory computer-readable storage medium isprovided. The storage medium stores the instructions that, when executedby a processor of a terminal, cause the terminal to perform: sending agroup member data update request to a server, wherein the group memberdata update request carries a terminal timestamp; receiving group memberdata change information issued by the server, wherein the group memberdata change information includes group member change data between acurrent timestamp and the terminal timestamp, and the current timestampis greater than the terminal timestamp; updating the group member dataof a terminal based on the group member data change information.

According to an eighth aspect of the embodiments of the presentdisclosure, a computer program is provided. The computer programincludes: computer readable codes that, when run on a terminal, causethe terminal to perform: sending a group member data update request to aserver, wherein the group member data update request carries a terminaltimestamp; receiving group member data change information issued by theserver, wherein the group member data change information includes groupmember change data between a current timestamp and the terminaltimestamp, and the current timestamp is greater than the terminaltimestamp; updating the group member data of a terminal based on thegroup member data change information.

It should be understood that the above general description and thefollowing detailed description are only exemplary and illustrative, andcannot limit the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a flow chart of a method for updating the groupmember data according to some embodiments of the disclosure.

FIG. 2 illustrates a flow chart of a method for updating the groupmember data according to some embodiments of the disclosure.

FIG. 3 illustrates a flow chart of a method for updating the groupmember data according to some embodiments of the disclosure.

FIG. 4 illustrates a flow chart of a method for updating the groupmember data according to some embodiments of the disclosure.

FIG. 5 illustrates a flow chart of a method for updating the groupmember data according to some embodiments of the disclosure.

FIG. 6 illustrates a block diagram of an apparatus for updating thegroup member data according to some embodiments of the disclosure.

FIG. 7 illustrates a block diagram of an apparatus for updating thegroup member data according to some embodiments of the disclosure.

FIG. 8 illustrates a block diagram of an apparatus for updating thegroup member data according to some embodiments of the disclosure.

FIG. 9 illustrates a block diagram of an apparatus for updating thegroup member data according to some embodiments of the disclosure.

FIG. 10 illustrates a block diagram of an apparatus for updating thegroup member data according to some embodiments of the disclosure.

FIG. 11 illustrates a structural block diagram of a terminal accordingto some embodiments of the disclosure.

FIG. 12 illustrates a structural block diagram of a server according tosome embodiments of the disclosure.

FIG. 13 illustrates a block diagram of a system according to someembodiments of the disclosure.

FIG. 14 illustrates a structural block diagram of another terminalaccording to some embodiments of the disclosure.

DETAILED DESCRIPTION

In order to enable those skilled in the art to better understand thetechnical solutions of the disclosure, the technical solutions in theembodiments of the disclosure will be described clearly and completelywith reference to the accompanying drawings in the embodiments of thedisclosure.

Some processes described in the specification and claims of thedisclosure and the above drawings include multiple operations appearingin a particular order, but it should be clearly understood that theseoperations may not be performed in the order appearing herein or may beperformed in parallel. The order numbers of operations such as 11 and 12are only used to distinguish different operations, and the order numberitself does not represent any execution sequence. In addition, theseprocesses may include more or fewer operations, and these operations maybe performed sequentially or in parallel. It should be noted that theterms such as “first”, “second” and the like herein are used todistinguish different messages, devices, modules, etc., do not representthe sequence, and do not limit “first” and “second” as different typeseither.

The technical solutions in the embodiments of the disclosure will bedescribed clearly and completely below in combination with theaccompanying drawings in the embodiments of the present application.Obviously the described embodiments are only a part of the embodimentsof the disclosure but not all the embodiments. Based upon theembodiments of the disclosure, all of other embodiments obtained bythose skilled in the art without creative work pertain to the protectionscope of the disclosure.

FIG. 1 is a flow chart of a method for updating the group member dataaccording to some embodiments. As shown in FIG. 1, the method forupdating group member data is used in a terminal and includes thefollowing steps.

Step S11: sending to a server a group member data update requestcarrying a terminal timestamp.

In some embodiments, the server includes a group management server,which is configured to manage the change status of group members andstore the group member data. The group member data includes a groupmember list that the terminal needs to synchronize when realizing theinstant messaging function, where the list is used to reflect the numberof members and the member information in the current group. The dataupdate request is a request of the terminal for requesting the server toissue the group member data change information to update the groupmember data stored in itself.

In an embodiment of the disclosure, the timestamp refers to a latesttimestamp of the service data, and is issued by the server but not thelocal clock time of the terminal.

The terminal timestamp is the largest timestamp corresponding to thedata stored by the terminal. The timestamp is carried each time when theterminal requests the data from the server, and the server issues thedata information, where the timestamp corresponding to the issued datainformation is larger than the timestamp carried in this request. Theterminal stores the timestamp locally after receiving it, and when thedata is requested again, the largest timestamp in the current data setis carried next time.

The terminal sending the data update request to the server may beregular sending, periodic sending, or artificially controlled sending.When the terminal detects that it currently needs to send a data updaterequest to the server, the terminal sends the data update request to theserver, wherein the data update request carries the terminal timestamp.After sending the data update request, the terminal waits for theserver's feedback within a preset time. If the server doesn't feed back,the terminal determines that there is no need to update the group memberdata stored on the terminal. In addition, after the server receives thedata update request sent by the terminal, if there is no need to sendany data such as the group member data change information to theterminal, the server may further feed back the information that there isno need to update the group member data or the empty information to theterminal, and at this time, the terminal records that there is no needto update the group member data on the terminal timestamp correspondingto the data update request currently sent.

Step S12: receiving the group member data change information issued bythe server, where the group member data change information includes thegroup member change data between the current timestamp and the terminaltimestamp, and the current timestamp is greater than the terminaltimestamp.

In some embodiments, the current timestamp is the timestamp recorded andstored when the server updated the group member data last time. When theserver receives a data update request carrying the terminal timestampsent by the terminal, the server obtains the terminal timestamp andcompares the terminal timestamp with the current timestamp. If thecurrent timestamp is greater than the terminal timestamp, the serverissues the group member data change information to the terminal; and ifthe current timestamp is equal to the terminal timestamp, the serverdoes not need to issue any group member data. The group member datachange information may be the data received by the server when the groupmember data was updated last time, and is the group member data(including the data of members joining group and/or the data of membersleaving group) received by the server during the time interval [terminaltimestamp, current timestamp], or may be the change information obtainedby the server by comparing the group member data in the currenttimestamp with the group member data in the terminal timestamp.

In some embodiments, when the timestamp is recorded with an offset, theoffset corresponding to the current timestamp is greater than or equalto the offset corresponding to the terminal timestamp. In a firstexample, when the offset corresponding to the terminal timestamp is 1,the offset corresponding to the current timestamp is 1 or more; if theserver issues the group member data change information to the terminalat this time, the current timestamp may be 2.

Step S13: updating the group member data of the terminal according tothe group member data change information.

After the terminal receives the group member data change informationissued by the server, it means that the terminal needs to update its owngroup member data. In this way, the terminal obtains the member changedata in the group member data change information to update the groupmember data of the terminal, so that the group member data stored in theterminal at this time is the same as the group member data newly storedin the server.

Further, FIG. 2 is a flow chart of a method for updating the groupmember data according to some embodiments. As shown in FIG. 2, the groupmember data change information includes the current timestamp, whereinafter the step S12 of receiving the group member data change informationissued by the server, the method further includes the following stepS21: determining the current timestamp as the terminal timestamp.

In some embodiments, the current timestamp in step S21 is the currenttimestamp contained in the group member data change information. Theprocess of said determining the current timestamp as the terminaltimestamp is: when receiving the group member change information issuedby the server, the terminal obtains the current timestamp carried in thegroup member change information, and records it as the terminaltimestamp corresponding to the current update of the group member data.At this time, the timestamp recorded on the terminal when the groupmember data was updated last time can be the same as the timestamprecorded on the server when the group member data was updated last time.In combination with the first example of the offset described above, theoffset corresponding to the terminal timestamp at this time may berecorded by the terminal as 2, which is the same as the offsetcorresponding to the timestamp recorded in the server when the groupmember data was updated last time.

In addition, in some embodiments, the terminal timestamp may also be thecorresponding timestamp when the terminal updated the group member datalast time or the timestamp when the terminal sent a data update requestto the server.

Further, FIG. 3 is a flow chart of a method for updating the groupmember data according to some embodiments. As shown in FIG. 3, the groupmember change data includes joining group member data and/or leavinggroup member data. The step S13 of updating the group member data of theterminal based on the group member data change information includes thefollowing steps.

Step S31: obtaining joining group member data in the group member datachange information, and adding the joining group member data to thegroup member data of the terminal; and/or Step S32: obtaining leavinggroup member data in the group member data change information, anddeleting the data of members leaving group from the group member data ofthe terminal.

In some embodiments, the status of a group member in the group is boundwith its own data to form joining group member data and/or leaving groupmember data. The status (statue) includes joining group (added) andleaving group (deleted), and its own data includes uid and the changedtimestamp. For example, for a member A, uid is 1001, statue is added,and Timestamp is 2018-07-09 09:08:23; so the group member data changeinformation includes {“uid”: 1001, “statue”: “added”, “Timestamp”:“2018-07-09 09:08:23”}. For example, for a member B, uid is 1011, statueis deleted, and Timestamp is 2018-07-09 09:08:23; so the group memberdata change information includes {“uid”: 1011, “statue”: “deleted”,“Timestamp”: “2018-07-09 09:08:23”}. For the member A, uid is 1001,statue is deleted, and Timestamp is 2018-07-19 09:08:23; so the groupmember data change information includes {“uid”: 1001, “statue”:“deleted”, “Timestamp”: “2018-07-19 09:08:23”}. The two different statesof the same member A belong to two pieces of data corresponding to thedata of members joining group and the data of members leaving grouprespectively.

When the step of updating the group member data of the terminal based onthe group member data change information is implemented on the terminal,the update can be performed by simple logics such as adding anddeleting. For example: the uid of a member C in the member change datais obtained, and it is judged whether the group member data currentlystored by the terminal contains the member C, and if not, the data ofthe member C is added, or the data of the member C is added after thestatus of the member C is confirmed as joining group (ADD). The uid of amember D in the member change data is obtained, and it is judged whetherthe group member data currently stored by the terminal contains themember D, and if so, the data of the member D is deleted, or the data ofthe member D is deleted after the status of the member C is confirmed asleaving group (DELETE).

Furthermore, FIG. 4 is a flow chart of a method for updating the groupmember data according to some embodiments. As shown in FIG. 4, the groupmember data change information includes the md5 value of the groupmember data in the current timestamp. In some embodiments, the md5 valueof the group member data in the current timestamp is the value obtainedby the server determining the md5 after the server sorts the members inthe group member data corresponding to the current timestamp by uid,where the sorting method includes uid ascending or descending order.After the step S13 of updating the group member data of the terminalbased on the group member data change information, the method furtherincludes the following steps.

Step S41: determining the md5 value of the updated group member data ofthe terminal.

This step includes: sorting the members in the updated group member dataof the terminal by uid, where the sorting rule is consistent with thesorting rule in the group member data corresponding to the currenttimestamp in the server. And the md5 value of the updated group memberdata of the terminal is determined by using the same algorithm asdetermining the md5 in the server based on the sorting result.

Step S42: comparing the md5 value of the group member data in thecurrent timestamp with the md5 value of the updated group member data ofthe terminal.

Step S43: sending a group member data synchronization request to theserver in response that they are different.

In some embodiments, if the md5 value of the group member data in thecurrent timestamp is different from the md5 value of the updated groupmember data of the terminal (that is, the updated group member data ofthe terminal is different from the group member data in the currenttimestamp of the server, and the data update is incomplete), theterminal sends a group member data synchronization request to theserver, wherein the synchronization request is to obtain the groupmember data corresponding to the current timestamp in the server. It isequivalent to pulling the full group member data in the currenttimestamp.

Step S44: receiving the group member data in the current timestampissued by the server.

Step S45: synchronizing the group member data in the current timestampto the group member data of the terminal.

In some embodiments, full synchronizing group member data in the currenttimestamp to the group member data of the terminal refers to updatingall group member data stored on the terminal.

When the terminal synchronizes the group member data in the currenttimestamp to the group member data of the terminal, the timestampcorresponding to the newest group member data stored on the terminal issynchronously adjusted as the minimum value, and may be return to zero.If the offset is used to mark the corresponding timestamp, and when theterminal synchronizes the group member data in the current timestamp tothe group member data of the terminal, the offset is determined as avalue smaller than a positive integer, and may be 0 or −1, etc.

In these embodiments, by comparing the md5 value of the group memberdata in the current timestamp with the md5 value of the group memberdata in the terminal timestamp, it is further ensured that the updatedgroup member data of the terminal is newest to ensure the accuracy ofthe data.

The method for updating the group member data shown in the aboveembodiment is applied to an instant messaging application, and the groupmember data is the group member data of a group established in theinstant messaging application.

FIG. 5 is a flow chart of a method for updating the group member dataaccording to some embodiments. As shown in FIG. 5, the method forupdating group member data is used in a system including a server and aterminal, and includes the following steps.

In the step S51: the server detects the group member data periodicallyand records the group member data in the current timestamp.

In some embodiments, when the server detects the group member dataperiodically, if there is member change data, the server performs theupdate of the group member data in servers and record the updatedcurrent timestamp. At this time, the group member data stored in theserver is the group member data in the current timestamp.

In the step S52: the terminal sends a group member data update requestcarrying a terminal timestamp to the server periodically.

In the step S53: the server issues the group member data changeinformation to the terminal, where the group member data changeinformation includes the group member change data between the currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp.

In some embodiments, the step S53 includes a step in which the servercompares the current timestamp with the terminal timestamp, and when itis determined that the current timestamp is greater than the terminaltimestamp, the group member data change information is issued to theterminal.

In the step S54: the terminal updates the group member data of theterminal based on the group member data change information.

Different from the above corresponding embodiments shown in FIGS. 1, 2,3 and 4, the steps in the corresponding embodiments shown in FIG. 5 areperformed by the server in cooperation with the terminal, which caninherit the steps in the above corresponding embodiments shown in FIGS.1, 2, 3 and 4.

FIG. 6 is a block diagram of an apparatus for updating the group memberdata according to some embodiments. Referring to FIG. 6, the apparatusincludes a first sending unit 61, a first receiving unit 62 and a firstupdating unit 63.

The first sending unit 61 is configured to send a group member dataupdate request to a server; wherein the group member data update requestcarries a terminal timestamp.

The first receiving unit 62 is configured to receive the group memberdata change information issued by the server, where the group memberdata change information includes the group member change data between acurrent timestamp and the terminal timestamp, and the current timestampis greater than the terminal timestamp.

The first update unit 63 is configured to update the group member dataof a terminal based on the group member data change information.

Further, FIG. 7 is a block diagram of an apparatus for updating thegroup member data according to some embodiments. Referring to FIG. 7,when the group member data change information includes the currenttimestamp, the first receiving unit 62 includes a modification unit 71.

The modification unit 71 is configured to determine the currenttimestamp as the terminal timestamp.

Further, FIG. 8 is a block diagram of an apparatus for updating thegroup member data according to some embodiments. Referring to FIG. 8,when the group member change data includes joining group member dataand/or leaving group member data, the first updating unit 63 includes anadding unit 81 and/or a deleting unit 82.

The adding unit 81 is configured to obtain joining group member data inthe group member data change information, and add the joining groupmember data to the group member data of the terminal.

The deleting unit 82 is configured to obtain leaving group member datain the group member data change information, and delete the leavinggroup member data from the group member data of the terminal.

Furthermore, FIG. 9 is a block diagram of an apparatus for updating thegroup member data according to some embodiments. Referring to FIG. 9,when the group member data change information includes the md5 value ofthe group member data in the current timestamp, the apparatus furtherincludes a determining unit 91, a comparison unit 92, a second sendingunit 93, a second receiving unit 94, and a synchronization unit 95.

The determining unit 91 is configured to determine the md5 value of theupdated group member data of the terminal after updating the groupmember data of the terminal based on the group member data changeinformation.

The comparison unit 92 is configured to compare the md5 value of thegroup member data in the current timestamp with the md5 value of theupdated group member data of the terminal.

The second sending unit 93 is configured to send a group member datasynchronization request to the server in response to that the md5 valueof the group member data in the current timestamp is different from themd5 value of the updated group member data of the terminal.

The second receiving unit 94 is configured to receive the group memberdata in the current timestamp issued by the server.

The synchronization unit 95 is configured to synchronize the groupmember data in the current timestamp to the group member data of theterminal.

In some embodiments, the apparatus for updating the group member datashown in the above embodiment is applied to an instant messagingapplication, and the group member data is the group member data of agroup established in the instant messaging application.

FIG. 10 is a block diagram of an apparatus for updating the group memberdata according to some embodiments. Referring to FIG. 10, the apparatusincludes a recording unit 101, a third sending unit 102, an issuing unit103 and a second updating unit 104.

The recording unit 101 is configured to detect the group member dataperiodically and record the group member data in a current timestamp bya server.

The third sending unit 102 is configured to send a group member dataupdate request by a terminal to the server periodically, wherein thegroup member data update request carries a terminal timestamp.

The issuing unit 103 is configured to issue the group member data changeinformation to the terminal by the server, where the group member datachange information includes the group member change data between thecurrent timestamp and the terminal timestamp, and the current timestampis greater than the terminal timestamp.

The second update unit 104 is configured to update the group member dataof the terminal based on the group member data change information by theterminal.

Regarding the apparatus in the above embodiment, the manner in whicheach module performs the operations has been described in detail in theembodiment related to the method, and will not be illustrated in detailhere.

FIG. 11 is a block diagram of a terminal 110 for updating the groupmember data according to some embodiments. For example, the terminal 110may be a mobile phone, computer, digital broadcasting terminal, messagetransceiver, game console, tablet device, medical device, fitnessdevice, personal digital assistant, or the like.

Referring to FIG. 11, the terminal 110 may include one or more of: aprocessing component 1102, a memory 1104, a power supply component 1106,a multimedia component 1108, an audio component 1110, an Input/Output(I/O) interface 1112, a sensor component 1114, and a communicationcomponent 1116.

The processing component 1102 generally controls the overall operationsof the terminal 110, such as operations associated with display, phonecall, data communication, camera operation, and recording operation. Theprocessing component 1102 may include one or more processors 1120 toexecute instructions to perform all or a part of the steps of the abovemethod. In addition, the processing component 1102 may include one ormore modules to facilitate the interactions between the processingcomponent 1102 and other components. For example, the processingcomponent 1102 may include a multimedia module to facilitate theinteractions between the multimedia component 1108 and the processingcomponent 1102.

The memory 1104 is configured to store various types of data to supportthe operations of the device 1100. Examples of the data includeinstructions of any application or method operated on the terminal 110,contact person data, phone book data, messages, pictures, videos, andthe like. The memory 1104 may be implemented by any type of volatile ornonvolatile storage device or a combination thereof, such as StaticRandom-Access Memory (SRAM), Electrically Erasable ProgrammableRead-Only Memory (EEPROM), Erasable Programmable Read-Only Memory(EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM),magnetic memory, flash memory, magnetic disk or optical disk.

The power supply component 1106 provides power for various components ofthe terminal 110. The power supply component 1106 may include a powermanagement system, one or more power supplies, and other componentsassociated with generating, managing and distributing the power for theterminal 110.

The multimedia component 1108 includes a screen of an output interfaceprovided between the terminal 110 and the user. In some embodiments, thescreen may include a Liquid Crystal Display (LCD) and a Touch Panel(TP). If the screen includes a touch panel, the screen may beimplemented as a touch screen to receive input signals from the user.The touch panel includes one or more touch sensors to sense thetouching, the sliding, and the gestures on the touch panel. The touchsensor may not only sense the boundary of the touching or slidingoperation, but also detect the duration and pressure related to thetouching or sliding operation. In some embodiments, the multimediacomponent 1108 includes a front camera and/or a rear camera. When thedevice 1100 is in the operation mode such as shooting mode or videomode, the front camera and/or the rear camera may receive the externalmultimedia data. Each of the front camera and rear camera may be a fixedoptical lens system or have the focal length and the optical zoomcapability.

The audio component 1110 is configured to output and/or input audiosignals. For example, the audio component 1110 includes a microphone(MIC). When the terminal 110 is in the operation mode such as call mode,recording mode and voice recognition mode, the microphone is configuredto receive the external audio signals. The received audio signals may befurther stored in the memory 1104 or transmitted via the communicationcomponent 1116. In some embodiments, the audio component 1110 furtherincludes a speaker for outputting the audio signals.

The I/O interface 1112 provides an interface between the processingcomponent 1102 and a peripheral interface module, where the aboveperipheral interface module may be a keyboard, a click wheel, buttons orthe like. These buttons may include but not limited to: home button,volume button, start button, and lock button.

The sensor component 1114 includes one or more sensors for providing theterminal 110 with the state assessments in various aspects. For example,the sensor component 1114 may detect the opening/closing state of thedevice 1100, and the relative positioning of the components (forexample, the display and keypad of the terminal 110). The sensorcomponent 1114 may further detect the position change of the terminal110 or a component of the terminal 110, the presence or absence ofcontact of the user with the terminal 110, the orientation oracceleration/deceleration of the terminal 110, and the temperaturechange of the terminal 110. The sensor component 1114 may include aproximity sensor configured to detect the presence of nearby objectswith no physical contact. The sensor component 1114 may further includea light sensor, such as Complementary Metal Oxide Semiconductor (CMOS)or Charge Coupled Device (CCD) image sensor, for use in the imagingapplications. In some embodiments, the sensor component 1114 may furtherinclude an acceleration sensor, a gyro sensor, a magnetic sensor, apressure sensor, or a temperature sensor.

The communication component 1116 is configured to facilitate the wiredor wireless communications between the terminal 110 and other devices.The terminal 110 may access a wireless network based on a communicationstandard, such as Wireless-Fidelity (WiFi), operator network (e.g., 2G,3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, thecommunication component 1116 receives the broadcast signal or broadcastrelated information from an external broadcast management system via abroadcast channel. In an exemplary embodiment, the communicationcomponent 1116 further includes a Near Field Communication (NFC) moduleto facilitate the short-range communications. For example, the NFCmodule may be implemented based on the Radio Frequency Identification(RFID) technology, Infrared Data Association (IrDA) technology, UltraWideband (UWB) technology, Bluetooth (BT) technology and othertechnologies.

In an exemplary embodiment, the terminal 110 may be implemented by oneor more Application Specific Integrated Circuits (ASICs), Digital SignalProcessors (DSPs), Digital Signal Processing Devices (DSPDs),Programmable Logic Devices (PLDs), Field-Programmable Gate Arrays(FPGAs), controllers, microcontrollers, microprocessors or otherelectronic elements to perform the above method.

FIG. 12 is a block diagram of a server 120 in the system for updatingthe group member data according to some embodiments. Referring to FIG.12, the server 120 includes a processing component 1222 which furtherincludes one or more processors, and the memory resource represented bya memory 1232 for storing the instructions (e.g., application program)executable by the processing component 1222. The application programstored in the memory 1232 may include one or more modules, each of whichcorresponds to a set of instructions. In addition, the processingcomponent 1222 is configured to execute the instructions to perform theabove method.

The server 120 may further include a power supply component 1226configured to perform the power management of the server 120, a wired orwireless network interface 1250 configured to connect the server 120 toa network, and an Input/Output (I/O) interface 1258. The server 120 mayoperate based on an operating system stored in the memory 1232, e.g.,Windows, Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.

In some embodiments, a non-transitory computer readable storage mediumincluding instructions, for example, the memory 1104 includinginstructions, is further provided. The above instructions can beexecuted by the processor 1120 of the terminal 110 to perform the abovemethod. For example, the non-transitory computer readable storage mediummay be ROM, Random-Access Memory (RAM), Compact Disc Read-Only Memory(CD-ROM), magnetic tape, floppy disk, optical data storage device, orthe like.

In some embodiments, a computer program is further provided. Thecomputer program includes: computer readable codes. For example, theterminal performs the above method for updating the group member datawhen the computer readable codes run on the terminal.

Those skilled in the art can understand that the disclosure includesdevices for performing one or more of the operations described in thedisclosure. These devices may be specially designed and manufactured forthe required purpose, or may also include known devices ingeneral-purpose computers. These devices have computer programs storedtherein, where these computer programs are selectively activated orreconfigured. Such computer programs may be stored in a device (e.g.,computer) readable medium or in any type of medium suitable for storingelectronic instructions and coupled respectively to a bus. The computerreadable medium includes but not limited to any type of disk (includingfloppy disk, hard disk, compact disc, CD-ROM, and magnetic opticaldisc), Read-Only Memory (ROM), Random Access Memory (RAM), ErasableProgrammable Read-Only Memory (EPROM), Electrically ErasableProgrammable Read-Only Memory (EEPROM), flash memory, magnetic card oroptical card. That is, the readable medium includes any medium thatstores or transmits the information in a readable form by a device(e.g., a computer).

FIG. 13 is a block diagram of a system 130 according to someembodiments. Referring to FIG. 13, the system 130 may include a server131 and at least one terminal 132.

The server includes a processor and a memory configured to storeinstructions executable by the processor; wherein the processor isconfigured to perform the steps in the above method where the executionsubject is the server.

The terminal includes a processor and a memory configured to storeinstructions executable by the processor; wherein the processor isconfigured to perform the steps in the above method where the executionsubject is the terminal.

An embodiment of the disclosure further provides a terminal 140, asshown in FIG. 14, including: a processor 141; a memory 142 configured tostore instructions executable by the processor 141. The processor 141 isconfigured to: when one or more programs are executed by one or moreprocessors 141, cause the one or more processors 141 to perform: sendinga group member data update request to a server, wherein the group memberdata update request carries a terminal timestamp to a server; receivinggroup member data change information issued by the server, wherein thegroup member data change information includes group member change databetween a current timestamp and the terminal timestamp, and the currenttimestamp is greater than the terminal timestamp; updating the groupmember data of a terminal based on the group member data changeinformation.

In some embodiments, the processor 141 is further configured to:determine the current timestamp as the terminal timestamp.

In some embodiments, the group member change data includes joining groupmember data and/or leaving group member data.

The processor 141 is configured to: obtain the joining group member datain the group member data change information, and add the joining groupmember data to the group member data of the terminal; and/or obtain theleaving group member data in the group member data change information,and delete the leaving group member data from the group member data ofthe terminal.

In some embodiments, the group member data change information includesthe md5 value of the group member data in the current timestamp; and theprocessor 141 is further configured to: determine the md5 value of theupdated group member data of the terminal; compare the md5 value of thegroup member data in the current timestamp with the md5 value of theupdated group member data of the terminal; send a group member datasynchronization request to the server in response to that the md5 valueof the group member data in the current timestamp is different from themd5 value of the updated group member data of the terminal; receive thegroup member data in the current timestamp issued by the server;synchronize the group member data in the current timestamp to the groupmember data of the terminal.

In some embodiments, the terminal is applied to an instant messagingapplication, and the group member data is the group member data of agroup established in the instant messaging application.

What is claimed is:
 1. A method for updating group member data, appliedto an instant messaging application, the method comprising: sending agroup member data update request to a server, wherein the group memberdata update request carries a terminal timestamp; receiving group memberdata change information issued by the server, wherein the group memberdata change information comprises data of changed group member between acurrent timestamp and the terminal timestamp, and the current timestampis greater than the terminal times tamp; obtaining at least one ofjoining group member data and leaving group member data based on thegroup member data change information, wherein the joining group memberdata and the leaving group member data are formed by bonding a status ofa group member in the group with its own data, the status of the groupmember comprises joining group and leaving group, and the member's owndata comprises an identification of the member and a changed timestamp;updating a group member data of a terminal based on the at least one ofjoining group member data and leaving group member data; wherein thegroup member data is of a group established in the instant messagingapplication.
 2. The method according to claim 1, further comprising:determining a status of a member corresponding to the data of member inthe group member data change information as joining group in response tothat the data of member in the group member data change information isnot included in the group member data currently stored by the terminal;and/or determining the status of the member as leaving group in responseto that the data of the member in the group member data changeinformation is included in the group member data currently stored by theterminal.
 3. The method according to claim 1, wherein said updating agroup member data of a terminal based on the at least one of joininggroup member data and leaving group member data comprising at least oneof: adding the data of member in the joining group member data to thegroup member data of the terminal; and deleting the data of member inleaving group member data from the group member data of the terminal. 4.The method according to claim 1, further comprising: determining whethergroup member data of current time stamp stored by the server isdifferent from the updated group member data of the terminal; sending agroup member data synchronization request to a server in response tothat group member data of current time stamp stored by the server isdifferent from the updated group member data of the terminal; receivinggroup member data of current time stamp issued by the server;synchronizing the group member data of the current timestamp to thegroup member data of the terminal.
 5. The method according to claim 4,wherein the group member data change information comprises an md5 valueof group member data of the current timestamp; and said determiningwhether group member data of current time stamp stored by the server isdifferent from the updated group member data of the terminal comprises:determining an md5 value of the updated group member data of theterminal; comparing the md5 value of the group member data of thecurrent timestamp with the md5 value of the updated group member data ofthe terminal; determining group member data of current time stamp storedby the server is different from the updated group member data of theterminal in response to that the md5 value of the group member data inthe current timestamp is different from the md5 value of the updatedgroup member data of the terminal.
 6. The method according to claim 1,further comprising: determining the current timestamp as the terminaltimestamp in response to that group member data change informationissued by the server was received, wherein the group member data changeinformation comprises the current timestamp.
 7. A method for updatinggroup member data, applied to an instant messaging application, themethod comprising: detecting, by a server, a group member dataperiodically and recording a group member data in a current timestamp;sending, by a terminal, a group member data update request to the serverperiodically, wherein the group member data update request carries aterminal timestamp; issuing, by the server, group member data changeinformation to the terminal, wherein the group member data changeinformation comprises data of changed group member between the currenttimestamp and the terminal timestamp, and the current timestamp isgreater than the terminal timestamp; obtaining, by the terminal, atleast one of joining group member data and leaving group member databased on the group member data change information, wherein the joininggroup member data and the leaving group member data are formed bybonding a status of a group member in the group with its own data, thestatus of the group member comprises joining group and leaving group,and the member's own data comprises an identification of the member anda changed timestamp; updating, by the terminal, the group member data ofthe terminal based on the at least one of joining group member data andleaving group member data; wherein the group member data is of a groupestablished in the instant messaging application.
 8. A terminal forupdating group member data, comprising: a processor; a memory configuredto store executable instructions by the processor; wherein the processoris configured to: send a group member data update request to a server,wherein the group member data update request carries a terminaltimestamp; receive group member data change information issued by theserver, wherein the group member data change information comprises dataof changed group member between a current timestamp and the terminaltimestamp, and the current timestamp is greater than the terminal timestamp; obtain at least one of joining group member data and leaving groupmember data based on the group member data change information, whereinthe joining group member data and the leaving group member data areformed by bonding a status of a group member in the group with its owndata, the status of the group member comprises joining group and leavinggroup, and the member's own data comprises an identification of themember and a changed timestamp; update a group member data of a terminalbased on the at least one of joining group member data and leaving groupmember data; wherein the group member data is of a group established inthe instant messaging application.
 9. The terminal according to claim 8,wherein the processor is further configured to: determine a status of amember corresponding to the data of member in the group member datachange information as joining group in response to that the data ofmember in the group member data change information is not included inthe group member data currently stored by the terminal; and/or determinethe status of the member as leaving group in response to that the dataof the member in the group member data change information is included inthe group member data currently stored by the terminal.
 10. The terminalaccording to claim 8, wherein the processor is further configured to:add the data of member in the joining group member data to the groupmember data of the terminal; and delete the data of member in leavinggroup member data from the group member data of the terminal.
 11. Theterminal according to claim 8, wherein the processor is furtherconfigured to: determine whether group member data of current time stampstored by the server is different from the updated group member data ofthe terminal; send a group member data synchronization request to aserver in response to that group member data of current time stampstored by the server is different from the updated group member data ofthe terminal; receive group member data of current time stamp issued bythe server; synchronize the group member data of the current timestampto the group member data of the terminal.
 12. The terminal according toclaim 11, wherein the group member data change information comprises anmd5 value of group member data of the current timestamp, and theprocessor is further configured to: determine an md5 value of theupdated group member data of the terminal; compare the md5 value of thegroup member data of the current timestamp with the md5 value of theupdated group member data of the terminal; determine group member dataof current time stamp stored by the server is different from the updatedgroup member data of the terminal in response to that the md5 value ofthe group member data in the current timestamp is different from the md5value of the updated group member data of the terminal.
 13. The terminalaccording to claim 8, wherein the processor is further configured to:determine the current timestamp as the terminal timestamp in response tothat group member data change information issued by the server wasreceived, wherein the group member data change information comprises thecurrent timestamp.